package com.education.course.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.education.common.annotation.Excel;
import com.education.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 edu_course_subject
 * 
 * @author education
 * @date 2024-07-24
 */
public class EduCourseSubject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 课程产品名 */
    @Excel(name = "课程产品名")
    private String name;

    /** 课程代码 */
    @Excel(name = "课程代码")
    private String code;

    /** 课程简短描述 */
    @Excel(name = "课程简短描述")
    private String subName;

    /** 所属课程分类 */
    @Excel(name = "所属课程分类")
    private Long courseId;

    /** 详情图地址 */
    @Excel(name = "详情图地址")
    private String detailUrl;

    /** 封面图地址 */
    @Excel(name = "封面图地址")
    private String picUrl;

    /** 产品属性（规格） */
    @Excel(name = "产品属性", readConverterExp = "规=格")
    private String attribute;

    /** 产品库存 */
    @Excel(name = "产品库存")
    private Long stock;

    /** 产品市场价格 */
    @Excel(name = "产品市场价格")
    private Long price;

    /** 产品优惠价格 */
    @Excel(name = "产品优惠价格")
    private Long preferentialPrice;

    /** 类型：1课程产品 2实体物品 */
    @Excel(name = "类型：1课程产品 2实体物品")
    private Integer type;

    /** 课程结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "课程结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 文字或文图描述 */
    @Excel(name = "文字或文图描述")
    private String productDetail;

    /** 销量 */
    @Excel(name = "销量")
    private Long sellNum;

    /** 部门状态（0正常 1停用） */
    @Excel(name = "部门状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setSubName(String subName) 
    {
        this.subName = subName;
    }

    public String getSubName() 
    {
        return subName;
    }
    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }
    public void setDetailUrl(String detailUrl) 
    {
        this.detailUrl = detailUrl;
    }

    public String getDetailUrl() 
    {
        return detailUrl;
    }
    public void setPicUrl(String picUrl) 
    {
        this.picUrl = picUrl;
    }

    public String getPicUrl() 
    {
        return picUrl;
    }
    public void setAttribute(String attribute) 
    {
        this.attribute = attribute;
    }

    public String getAttribute() 
    {
        return attribute;
    }
    public void setStock(Long stock) 
    {
        this.stock = stock;
    }

    public Long getStock() 
    {
        return stock;
    }
    public void setPrice(Long price) 
    {
        this.price = price;
    }

    public Long getPrice() 
    {
        return price;
    }
    public void setPreferentialPrice(Long preferentialPrice) 
    {
        this.preferentialPrice = preferentialPrice;
    }

    public Long getPreferentialPrice() 
    {
        return preferentialPrice;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setProductDetail(String productDetail) 
    {
        this.productDetail = productDetail;
    }

    public String getProductDetail() 
    {
        return productDetail;
    }
    public void setSellNum(Long sellNum) 
    {
        this.sellNum = sellNum;
    }

    public Long getSellNum() 
    {
        return sellNum;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("code", getCode())
            .append("subName", getSubName())
            .append("courseId", getCourseId())
            .append("detailUrl", getDetailUrl())
            .append("picUrl", getPicUrl())
            .append("attribute", getAttribute())
            .append("stock", getStock())
            .append("price", getPrice())
            .append("preferentialPrice", getPreferentialPrice())
            .append("type", getType())
            .append("endTime", getEndTime())
            .append("productDetail", getProductDetail())
            .append("sellNum", getSellNum())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
